package 算法题;

import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

/*
英文句子单词翻转
时间限制：C/C++ 1秒，其他语言2秒

空间限制：C/C++ 32M，其他语言64M

1
原地翻转句子中单词的顺序，但单词内字符的顺序不变。要求：空间复杂度O(1)，时间复杂度O(n)。

输入描述:
英文句子中单词以一个空格符隔开。为简单起见，标点符号和普通字母一样处理。

输出描述:
翻转之后的英文句子，单词内字符的顺序不变，以一个空格隔开。

输入例子1:
I am a student.

输出例子1:
student. a am I
 */
public class 英语词语翻转 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String wode = scanner.nextLine();
        //根据空格分词存入list
        List list = Arrays.asList(wode.split(" "));
        StringBuilder stringBuilder = new StringBuilder();
        //从后往前循环，并且重新添加空格
        for (int i = list.size()-1; i >= 0; i--) {
            stringBuilder.append(list.get(i));
            if (i>0){
                stringBuilder.append(" ");
            }
        }
        //输出
        System.out.println(stringBuilder.toString());
    }
}
